multicall: deal with early exit conditions
authorJan Beulich <jbeulich@suse.com>
Tue, 2 May 2017 11:18:35 +0000 (12:18 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Tue, 2 May 2017 11:18:35 +0000 (12:18 +0100)
commit993a6534cae6d9ca2793799cfe369c9b3694ee1e
treedce6aac9786e7c497f09772baa93a09eeb36f02d
parent726b949c3eb4d42509754fa70bca7f53f05e266d
multicall: deal with early exit conditions

In particular changes to guest privilege level require the multicall
sequence to be aborted, as hypercalls are permitted from kernel mode
only. While likely not very useful in a multicall, also properly handle
the return value in the HYPERVISOR_iret case (which should be the guest
specified value).

This is XSA-213.

Reported-by: Jann Horn <jannh@google.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Julien Grall <julien.grall@arm.com>
xen/arch/arm/traps.c
xen/arch/x86/hypercall.c
xen/common/multicall.c
xen/include/xen/multicall.h